In some cases, a large view is unable to be captured in a single image with a camera at a time. Thus, several images are captured, following with digitally combining or stitching them into a larger image. For example, a camera, placed on a holder, is moved to capture sequential images with certain amount of overlapping between the images. Then, the images are digitally captured, or otherwise scanned or converted into a digital format.
A typical example is pathology-slide microscopic scanning. Due to the field of view limitation of objective lens and high power magnification requirement, a single image is not enough to acquire the whole picture of pathology in details. Instead, a series of images is taken, which are further stitched to form into a whole image.
Regarding a traditional stitching technique, a user can position the digital images as thumbnails of the larger image, further with combining them together. Alternatively, the sequence of image stitching is determined. For both cases, the images need be firstly loaded into memory, and then stitched together to form a single and larger image. Stitching images can be achieved through an edge detection technique to determine where the images overlap. The images are then loaded into memory and stitched with the stitched image in memory. This process is repeated several times till all images being stitched into a magnified image.
This technique is regarded as effective when only a few images with low resolution are stitched. Nonetheless, in the case of having a large number of images with high resolutions, a large amount of memory is required but it is hardly provided under various circumstances.
Regarding the problem of memory under overloading, one well-known technique is to store only one of the three color channels in memory, thus largely reducing the amount of memory needed by two-thirds. Nevertheless, with respect to images with high resolution, the memory consumption is still enormous. Alternatively, one can save the unit images as digital files first and reload them in later stitching, this method can avoid the large memory usage but the repeated image loading will slow down the whole stitching process.
U.S. Pat. No. 8,041,147 provides a method for stitching and showing image blocks of an electronically recorded multipart image, in which relative positional offset values of the image blocks recorded with overlap are determined in a coordinate system in directions x and y, and stored in a matrix format. The image blocks to be presented are stitched together on the basis of the stored values.
U.S. Pat. No. 7,006,111 discloses a digital stitching method where the offset values between overlapping images are predicted from their lower resolution versions, further being refined by a search process recursively.
U.S. Pat. No. 7,778,485 teaches systems and methods for stitching image blocks to create seamless magnified images of a microscope slide. Stitching is executed when the field of view of display is changed by using the pre-calculated relative positional offset values and correlation coefficient.
Nevertheless, the abovementioned methods still fail to provide a stitching technique employing least memory and CPU usage, as well as providing fast stitching speed and good quality.